.\"   $Id: flatablexpr.3,v 1.1 2002/03/18 11:06:16 ludo Exp $
.\" @(#)flatablexpr.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
.TH FLATABLEXPR 3 "October 1, 1997" "ASIM/LIP6" "ABL FUNCTIONS"
.SH NAME
flatablexpr \- merges the operators of an expression
.so man1/alc_origin.1
.SH SYNOPSIS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "abl101.h"
void flatablexpr( Expr )
  chain_list \(**Expr;
.ft R
.fi
.SH PARAMETERS
.TP 20
\fIExpr\fP
Expression to flat.
.SH DESCRIPTION
\fBflatablexpr\fP merges all the common operators in \fIExpr\fP.
.br
.SH RETURN VALUE
\fBflatablexpr\fP returns nothing.
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "abl101.h"
  chain_list \(**Expr1;
  chain_list \(**Expr2;
  Expr1 = createbinexpr( ABL_OR, 
                         createablatom( "a" ),
                         createablatom( "b" ) );
  Expr2 = createabloper( ABL_OR );
  addablhexpr( Expr2, createablatom( "c" ) );
  addablhexpr( Expr2, Expr1 );
  Expr1 = dupablexpr( Expr2 );
  flatablexpr( Expr1 );
  /* displays ((a or b) or c) (a or b or c) */
  viewablexpr( Expr2, ABL_VIEW_VHDL );
  viewablexpr( Expr1, ABL_VIEW_VHDL );
.ft R
.fi
.SH SEE ALSO
.BR abl (1),
.BR unflatablexpr(3).


.so man1/alc_bug_report.1

